package com.ruoyi.aftersale.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.utils.vo.PoCommon;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 技术支援管理对象 dms_technical_support
 * 
 * @author liuchuanfa
 * @date 2024-03-16
 */
public class DmsTechnicalSupport extends PoCommon
{
    private static final long serialVersionUID = 1L;

    /** 技术支持代码 */
    @Excel(name = "技术支持代码")
    private String technicalSupportCode;

    /** 技术支持标题 */
    @Excel(name = "技术支持标题")
    private String technicalSupportTitle;

    /** 技术支持描述 */
    @Excel(name = "技术支持描述")
    private String technicalSupportDesc;

    /** 回复内容 */
    @Excel(name = "回复内容")
    private String replyContent;

    /** 状态(1=已提交待回复,2=已回复待完结,3=已回复且完结) */
    @Excel(name = "状态",readConverterExp = "1=已提交待回复,2=已回复待完结,3=已回复且完结")
    private Integer status;

    /** 重要等级(1=A,2=B,3=C,4=D) */
    @Excel(name = "重要等级",readConverterExp = "1=A,2=B,3=C,4=D")
    private Integer importantLevel;

    /** 维修工单id */
    @Excel(name = "维修工单id")
    private Long repairOrderId;

    /** 经销商id */
    @Excel(name = "经销商id")
    private Long dealerId;

    /** 经销商名称 */
    @Excel(name = "经销商名称")
    private String dealerName;

    /** 上报人名 */
    @Excel(name = "上报人名")
    private String reportByName;

    /** 上报人id */
    @Excel(name = "上报人id")
    private Long reportBy;

    /** 上报时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上报时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reportAt;

    /** 回复人名 */
    @Excel(name = "回复人名")
    private String replyByName;

    /** 回复人id */
    @Excel(name = "回复人id")
    private Long replyBy;

    /** 回复时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date replyAt;

    /** 完结人名 */
    @Excel(name = "完结人名")
    private String finishByName;

    /** 完结人id */
    @Excel(name = "完结人id")
    private Long finishBy;

    /** 完结时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完结时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishAt;

    /** 审核人id */
    @Excel(name = "审核人id")
    private Long auditorId;

    /** 审核人名称 */
    @Excel(name = "审核人名称")
    private String auditorName;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditorTime;


    public void setTechnicalSupportCode(String technicalSupportCode) 
    {
        this.technicalSupportCode = technicalSupportCode;
    }

    public String getTechnicalSupportCode() 
    {
        return technicalSupportCode;
    }
    public void setTechnicalSupportTitle(String technicalSupportTitle) 
    {
        this.technicalSupportTitle = technicalSupportTitle;
    }

    public String getTechnicalSupportTitle() 
    {
        return technicalSupportTitle;
    }
    public void setTechnicalSupportDesc(String technicalSupportDesc) 
    {
        this.technicalSupportDesc = technicalSupportDesc;
    }

    public String getTechnicalSupportDesc() 
    {
        return technicalSupportDesc;
    }
    public void setReplyContent(String replyContent) 
    {
        this.replyContent = replyContent;
    }

    public String getReplyContent() 
    {
        return replyContent;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setImportantLevel(Integer importantLevel)
    {
        this.importantLevel = importantLevel;
    }

    public Integer getImportantLevel()
    {
        return importantLevel;
    }
    public void setRepairOrderId(Long repairOrderId) 
    {
        this.repairOrderId = repairOrderId;
    }

    public Long getRepairOrderId() 
    {
        return repairOrderId;
    }
    public void setDealerId(Long dealerId) 
    {
        this.dealerId = dealerId;
    }

    public Long getDealerId() 
    {
        return dealerId;
    }
    public void setDealerName(String dealerName) 
    {
        this.dealerName = dealerName;
    }

    public String getDealerName() 
    {
        return dealerName;
    }
    public void setReportByName(String reportByName) 
    {
        this.reportByName = reportByName;
    }

    public String getReportByName() 
    {
        return reportByName;
    }
    public void setReportBy(Long reportBy) 
    {
        this.reportBy = reportBy;
    }

    public Long getReportBy() 
    {
        return reportBy;
    }
    public void setReportAt(Date reportAt) 
    {
        this.reportAt = reportAt;
    }

    public Date getReportAt() 
    {
        return reportAt;
    }
    public void setReplyByName(String replyByName) 
    {
        this.replyByName = replyByName;
    }

    public String getReplyByName() 
    {
        return replyByName;
    }
    public void setReplyBy(Long replyBy) 
    {
        this.replyBy = replyBy;
    }

    public Long getReplyBy() 
    {
        return replyBy;
    }
    public void setReplyAt(Date replyAt) 
    {
        this.replyAt = replyAt;
    }

    public Date getReplyAt() 
    {
        return replyAt;
    }
    public void setFinishByName(String finishByName) 
    {
        this.finishByName = finishByName;
    }

    public String getFinishByName() 
    {
        return finishByName;
    }
    public void setFinishBy(Long finishBy) 
    {
        this.finishBy = finishBy;
    }

    public Long getFinishBy() 
    {
        return finishBy;
    }
    public void setFinishAt(Date finishAt) 
    {
        this.finishAt = finishAt;
    }

    public Date getFinishAt() 
    {
        return finishAt;
    }
    public void setAuditorId(Long auditorId) 
    {
        this.auditorId = auditorId;
    }

    public Long getAuditorId() 
    {
        return auditorId;
    }
    public void setAuditorName(String auditorName) 
    {
        this.auditorName = auditorName;
    }

    public String getAuditorName() 
    {
        return auditorName;
    }
    public void setAuditorTime(Date auditorTime) 
    {
        this.auditorTime = auditorTime;
    }

    public Date getAuditorTime() 
    {
        return auditorTime;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("technicalSupportCode", getTechnicalSupportCode())
            .append("technicalSupportTitle", getTechnicalSupportTitle())
            .append("technicalSupportDesc", getTechnicalSupportDesc())
            .append("replyContent", getReplyContent())
            .append("status", getStatus())
            .append("importantLevel", getImportantLevel())
            .append("repairOrderId", getRepairOrderId())
            .append("dealerId", getDealerId())
            .append("dealerName", getDealerName())
            .append("reportByName", getReportByName())
            .append("reportBy", getReportBy())
            .append("reportAt", getReportAt())
            .append("replyByName", getReplyByName())
            .append("replyBy", getReplyBy())
            .append("replyAt", getReplyAt())
            .append("finishByName", getFinishByName())
            .append("finishBy", getFinishBy())
            .append("finishAt", getFinishAt())
            .append("auditorId", getAuditorId())
            .append("auditorName", getAuditorName())
            .append("auditorTime", getAuditorTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("createUserName", getCreateUserName())
            .append("updateUserName", getUpdateUserName())
            .append("version", getVersion())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
